package logic.operation;

import gui.MyTC;

import java.util.LinkedList;
import java.util.List;

import javax.swing.JProgressBar;

import org.apache.log4j.Logger;

import logic.file.IDirectory;
import logic.file.IFile;

public class CopyOperation extends AbstractFileOperation {

	Logger logger = Logger.getLogger(CopyOperation.class);
	//TA OPERACJA NIE IMPLEMENTUJE interfejsu observable, jest to tylko zapisanie referencji do wybranych plików do schowka
	public CopyOperation(List<IFile> files) {
		super(files);
		// TODO Auto-generated constructor stub
	}
	
	public CopyOperation() { }

	@Override
	//raczej prywatne, obsluga poprzez watek i metode run
	public void execute() {
			//TODO wielowatkowo w finalnej wersji
			//TODO
			//file.copyTo();
		//TODO raczej Clipboard we wnętrzu tej klasy i poźniej przeszkiwanie akcji z buttonów
		//Clipboard musi być zaimplementowany jako Singleton
		logger.info("copying to clipboard");
		logger.debug("FILES COPIED TO CLIPBOARD:" + files);
		MyTC.getInstance().saveToClipboard(files);
		
	}

	@Override
	public void cancel() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void run() {
		execute();
		
	}

	@Override
	public String getName() {
		return "Copying";
	}

}
